import os
import sys

# 添加项目根目录到Python路径
project_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, project_root)

# 导入统一日志配置
from logger_config import auto_logger as logger

from app.modules1.MonthEnd import update_vendors
from app.modules1.get_Allvendor import _fetch_paginated_vendor_data
from app.modules1.realSales import getRealSales
from app.modules1.Bottomtable.bottomtableMain import bottomtableMain

def auto_main():
    """每月数据更新主函数"""
    try:
        # 获取供应商信息
        logger.info("开始获取供应商信息")
        _fetch_paginated_vendor_data()
        logger.info("供应商信息获取完成")

        # 1.运行月结逻辑
        logger.info("开始月结供应商计算")
        update_vendors()
        logger.info("月结供应商计算完成")

        # 2.运行实际销实结逻辑
        logger.info("开始实销实结供应商计算")
        getRealSales()
        logger.info("实销实结供应商计算完成")

        # 3.底表更新
        logger.info("开始底表更新")
        bottomtableMain()
        logger.info("底表更新完成")

        logger.info("所有自动任务执行完成")
        return True

    except Exception as e:
        logger.error(f"自动任务执行失败: {str(e)}")
        logger.exception("详细错误信息:")
        return False

if __name__ == '__main__':
    auto_main()
